package com.wechat.service;

import java.util.List;
import java.util.concurrent.CompletableFuture;

import com.swak.entity.Page;
import com.swak.entity.Parameters;
import com.wechat.dto.ContactDTO;
import com.wechat.dto.ContactFindDTO;

public interface ContactServiceAsync {
	CompletableFuture<ContactDTO> get(String id);

	CompletableFuture<ContactDTO> create(List<ContactDTO> contacts);
	
	CompletableFuture<ContactDTO> create(ContactDTO contact);

	CompletableFuture<Integer> delete(ContactDTO contact);

	CompletableFuture<Page<ContactDTO>> page(ContactDTO query, Parameters param);

	CompletableFuture<List<ContactDTO>> friends(ContactFindDTO find);

	CompletableFuture<List<ContactDTO>> friendAdds(ContactFindDTO find);

	CompletableFuture<ContactDTO> saveAlias(ContactDTO contact);
	
	CompletableFuture<ContactDTO> saveNickName(ContactDTO contact);

	CompletableFuture<ContactDTO> saveRemarks(ContactDTO contact);

	CompletableFuture<List<ContactDTO>> contacts(List<String> userNames);
}
